﻿#pragma strict
public var numFenetre: int;
var fenetreFermeSprite : Sprite;
var phase2: Sprite;
var phase3: Sprite;
var phase4: Sprite;
var plus1:Transform;
public var menuMort:Transform;
private var tempsDepuisOuverture:double;
public var fissure:Transform;
public var flash:Transform;
static var perdu=false;
static var fin =false;
public var hotel:Transform;
static var mauvaiseFenetre:int;
private var monSprite:SpriteRenderer;
monSprite=this.GetComponent(SpriteRenderer);
private var plus1Transform:Transform;
private var tempsEntrePhase:double;
static var continuer:boolean;
private var temps_ecoule:double;
private var one:boolean;
private var one2:boolean;
private var test:Transform;

function Start()
{
	perdu=false;
	fin=false;
	mauvaiseFenetre=0;
	continuer=true;
	temps_ecoule=0;
	one=true;
	one2=true;
}
function OnMouseDown()
{
	if(!perdu)
	{
		if(ouvertureFenetre.fenetreOuverte[numFenetre])
		{
			plus1Transform=Transform.Instantiate(plus1,Camera.main.ScreenToWorldPoint(Input.mousePosition),Quaternion.identity);
			plus1Transform.localScale=hotel.localScale;
			monSprite.sprite = fenetreFermeSprite;
			ouvertureFenetre.nbFenetreOuverte--;
			ouvertureFenetre.fenetreOuverte[numFenetre]=false;
			Score.score++;
			tempsDepuisOuverture=0;
		}
	}
}

function Update () 
{
	if(!fin)
	{
		if(ouvertureFenetre.fenetreOuverte[numFenetre])
		{
			if(continuer)
			{
				tempsDepuisOuverture+=Time.deltaTime*Time.timeScale;
			}
			
			
			if(tempsDepuisOuverture>=ouvertureFenetre.tempsEntrePhase*3.0+0.5)
			{
				ouvertureFenetre.pause=true;
				monSprite.sprite = phase4;
				continuer=false;
				animation();
				perdu=true;
	
			}
			else if(tempsDepuisOuverture>=ouvertureFenetre.tempsEntrePhase*2.0)
			{
				monSprite.sprite= phase3;
			}
			else if(tempsDepuisOuverture>=ouvertureFenetre.tempsEntrePhase)
			{
				monSprite.sprite = phase2;
			}


		}
	}
}

public function animation()
{
    
   
	if(!fin)
	{
		
		if(one)
		{
			test=GameObject.Instantiate(flash);
			test.localScale=hotel.localScale;
			one=false;
		}
		if(one2)
		{
			if(temps_ecoule>=0.5)
			{
				GameObject.Destroy(test.gameObject);
				test=GameObject.Instantiate(fissure);
				test.localScale=hotel.localScale;
				one2=false;
			}
		}
		temps_ecoule+=Time.deltaTime;
		if(temps_ecoule>=2)
		{
			test=Transform.Instantiate(menuMort);
			test.localScale=hotel.localScale;
			if(Score.score>PlayerPrefs.GetInt("Hight Score"))
			{
				PlayerPrefs.SetInt("Hight Score",Score.score);
			}
			PlayerPrefs.SetInt("scoreCumule",PlayerPrefs.GetInt("scoreCumule")+Score.score);
			fin=true;
		}
	}	
}